The invention relates generally to computer executable workflow management and control systems and more particularly to computer executable methods for selectively providing work items to an operator attended computer workstation from a plurality of work items stored in a database accessible by the computer workstation.
As is known in the art, members of an organization are provided work items for execution from a database of unexecuted work items. These work items represent tasks such as filling out documents, returning telephone calls to potential or existing customers, initiating transactions, or similar duties. Work items may arrive at the database from outside the organization or from inside the organization or both. For example, if the organization provides financial services, the work items may relate to client account maintenance, buy and sell orders, internal management directives, and the like.
Efficiency gains can be accomplished by implementing a workflow management system which automates a process for distributing the work items to the members. In the workflow management system, each member becomes an operator situated at a computer station, such as a personal computer. The computer stations are connected to a computer system running a workflow application program. After an assigned work item is completed, a new work item is provided from the database to the computer station in response to a request from the computer station. Usually, the workflow application program initially stores the work items in a database and subsequently distributes the work items to the members in accordance with a set of rules tailored to the organization""s particular needs. Typically, each time one of these requests is received by the workflow application program, the workflow application program conducts a search of the database to find a most appropriate work item to provide to the member in response for execution at the operator workstation.
An enhanced workflow management system has been proposed for anticipating requests from a particular type of computer station. In such a system, work items appropriate for execution by such a computer station are represented in a list of entries produced by an anticipatory search of the database. More particularly, the list corresponds to a batch of work items. The enhanced system""s workflow application program does not conduct a search of the database each time a request arrives. Rather, the workflow application program responds to a request for a new work item by providing from the batch an unexecuted work item represented by an entry in the list. After the member has completed, or exhausted by execution, all work items in the batch, the workflow application program uses another anticipatory search to produce a new list corresponding to a new batch of work items.
In accordance with one aspect of the invention, a computer system executable method is provided for use in providing work items to an operator attended computer station from a plurality of work items stored in a database accessible by the computer station. The method includes generating a sequence (e.g., a first ordered list of work items) for providing the work items to the computer station, and, before the sequence has been fully exhausted, generating a substitute sequence (e.g., a second ordered list of work items) for providing the work items.
This method of generating the sequence and the substitute sequence allows the system to be timely with respect to taking into account new work items arriving in the database of work items. In particular, the computer station is able to gain access to high-priority new work items without first having to execute every work item represented in the sequence.
Implementations of this aspect of the invention may include one or more of the following features. The age of the sequence or how near the sequence is to full exhaustion may affect when the substitute sequence is generated.
In accordance with another aspect of the invention, a computer system executable method is provided for selectively providing work items to an operator attended computer station from a plurality of work items stored in a database accessible by the computer station. The method includes the step of building a first ordered list of work items in the database for execution by the operator attending the computer station. An amount of elapsed time is determined since the ordered list was built for the computer station. The elapsed time is compared to a predetermined time interval. If the elapsed time is greater than the predetermined time interval, a second ordered list of work items is built from the database and the system is configured to replace the first ordered list with the second ordered list to enable the computer station to use the second ordered list for subsequent execution by the attendant operator.
With such a method, the first ordered list is preferably replaced before becoming empty, allowing the system to take into account new work items arriving in the database of work items. As a result, the computer station is able to gain access to high-priority new work items before exhausting the existing ordered list.
In another accordance with another aspect of the invention, an amount of unused entries in the first (i.e., working) ordered list is also determined. The amount of unused entries is compared to a predetermined threshold number of unused entries. If the elapsed time is greater than the predetermined time interval or if the amount of unused entries is less than the predetermined threshold number of unused entries, a second ordered list is built in parallel. If the elapsed time is greater than a predetermined useful lifetime of the first ordered list, the system waits until the system is configured to use the second ordered list as the working ordered list and then provides a work item to the computer station for execution by the attendant operator.
Such method helps to avoid excessive delays. For example, if building the second ordered list were initiated for time-related reasons only, an idle delay would occur if the system used up entries so quickly that the list became exhausted before it became time to initiate building a new ordered list. Likewise, if such building were initiated for use-related reasons only, an excessive delay in executing high-priority new work items would occur if the system used up entries so slowly that the existing ordered list were rarely replaced.
In addition, a parallel process is used for building the new ordered list, allowing use of the existing working ordered list while the new ordered list is being built. Such use helps the system avoid excessive idle delays.
Implementations of these aspects of the invention may include one or more of the following features.
The predetermined time interval may be a preferred rebuilding interval or a predetermined useful lifetime of the first ordered list and the second ordered list may be built using a parallel process. The work item may be selected after the system is configured to use the second ordered list as the working ordered list or regardless of when the system is configured to use the second ordered list as the working ordered list.
In accordance with still another aspect of the invention, a method is provided for providing a workflow work item to a computer station from a database of workflow work items stored in a computer system. The method includes the step of initiating the computer system to build in parallel a new ordered list from the work items stored in the database. The new ordered list has a predetermined useful lifetime and has a predetermined plurality of entries. Each entry corresponds to one of the work items in the database. A count of unused entries takes into account each entry. The entries are ordered for execution in accordance with predetermined criteria. A time when the new list was built is recorded. The system is configured to use the new ordered list as a working ordered list by the computer station. Next, the method includes the step of waiting until the system is configured to use the new ordered list as the working ordered list. The system then waits until receipt of a request to provide one of the work items in the new ordered list to the computer station. A comparison is made of the count of unused entries to a low count (e.g., zero). If the count of unused entries is not equal to the low count, a determination is made as to an amount of elapsed time since the working ordered list was built and a determination is made as to whether the elapsed time is greater than the predetermined useful lifetime. If the count of unused entries is equal to the low count or if the elapsed time is greater than the useful lifetime, the system initiates building in parallel a new ordered list and the system waits until the system is configured to use the new ordered list as the working ordered list. If, on the other hand, the count of unused entries is not equal to the low count and the elapsed time is not greater than the useful lifetime, the count of unused entries is compared to a predetermined threshold amount. If the count of unused entries is not less than the threshold amount, the elapsed time is compared to a preferred rebuilding interval. If the count of unused entries is less than the threshold amount or the elapsed time is greater than the rebuilding interval, the parallel process is initiated for building a new ordered list. From the database of work items, a selection is made of a work item corresponding to a first entry in the working ordered list. The count of unused entries in the working ordered list is decremented. The selected work item is provided to the computer station in response to the request and the system waits again for receipt of a request to provide another work item to the operator terminal.